home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Power 1997 December
/
MACPOWER-1997-12.ISO.7z
/
MACPOWER-1997-12.ISO
/
AMUG
/
PROGRAMMING
/
Raven 1.2 Examples.sit
/
Raven 1.2 Examples
/
Quill
/
Source
/
ResourceNode.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-01-31
|
2KB
|
89 lines
/*
* File: ResourceNode.h
* Summary: Abstract base class CResourceTable nodes.
* Written by: Jesse Jones
*
* Copyright ゥ 1997 Jesse Jones.
* For conditions of distribution and use, see copyright notice in ZTypes.h
*
* Change History (most recent first):
*
* <-> 1/17/96 JDJ Created
*/
#pragma once
#include <ZBaseTableNode.h>
#include "ResourceMap.h"
// ===================================================================================
// class CResourceNode
// ===================================================================================
class CResourceNode : public TBaseTableNode {
typedef TBaseTableNode Inherited;
//-----------------------------------
// Initialization/Destruction
//
public:
virtual ~CResourceNode();
CResourceNode(THierarchicalTable* table, CResourceMap* rsrcMap);
CResourceNode(THierarchicalTable* table, TSubNode* parent,
CResourceMap* rsrcMap, ResID id);
virtual CResourceNode* Make(TSubNode* parent, ResID id) = 0;
//-----------------------------------
// New API
//
public:
virtual void EditResource() = 0;
virtual void UpdateResource() const;
CResourceMap* GetMap() const {return mRsrcMap;}
ResID GetID() const {return mID;}
void SetID(ResID id) {mID = id;}
SResource GetResource() const {return mRsrcMap->GetResource(mID);}
//-----------------------------------
// TBaseTableNode API
//
public:
virtual TLongSize GetSize() const;
protected:
virtual void OnDraw(TCanvas& canvas, const TRect& bounds);
virtual bool OnMouseDown(const TMouseEvent& event);
virtual bool OnContextMenu(const TMouseEvent& event);
virtual bool OnKeyDown(const TKeyEvent& event);
virtual bool OnMenuCommand(const MenuCommand& command);
virtual bool OnCommandStatus(const MenuCommand& command, SCommandStatus& status);
//-----------------------------------
// Member data
//
protected:
CResourceMap* mRsrcMap;
ResID mID;
TTextTrait mTextTraits;
};